package com.yidu.hbats.dao;


import com.yidu.hbats.action.Time;
import com.yidu.hbats.model.AtsScheme;
import com.yidu.utils.Page;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * @version V1.0
 * @描述：方案Dao
 * @backage: com.liandyao.hbats.dao
 * @Author: lr
 * @Date: 2019/10/30 10:40
 * @Description //TODO
 **/
@Mapper
public interface AtsSchemeMapper {
    /**
     *
     * @mbg.generated 2019-10-29
     */
    int deleteByPrimaryKey(Integer schemeId);

    /**
     *
     * @mbg.generated 2019-10-29
     */

    int insert(AtsScheme record);

    /**
     *
     * @mbg.generated 2019-10-29
     */
    int insertSelective(AtsScheme record);

    /**
     *
     * @mbg.generated 2019-10-29
     */
    AtsScheme selectByPrimaryKey(Integer schemeId);

    /**
     * 根据主键查询
     * @param schemeId
     * @return
     */
    AtsScheme findByIdOne(int schemeId);
    /**
     *
     * @mbg.generated 2019-10-29
     */
    int updateByPrimaryKeySelective(AtsScheme record);

    /**
     * 删除
     * @param schemeId
     * @return
     */
    int updateByPrimaryKeySelectiveone(int schemeId);
    /**
     *
     * @mbg.generated 2019-10-29
     */
    int updateByPrimaryKey(AtsScheme record);

    /**
     * 查询所有
     * @param atsScheme
     * @param pages
     */
    List<AtsScheme> selectAll(@Param("atsScheme") AtsScheme atsScheme, @Param("pages") Page pages, @Param("time") Time time);

    /**
     * 查询总行数
     * @param atsScheme
     * @return
     */
    int selectCount(@Param("atsScheme") AtsScheme atsScheme, @Param("time") Time time);

    /**
     * 查询不分页
     * @param atsScheme
     * @return
     */
    List<AtsScheme> selectByCoachId(AtsScheme atsScheme);
    List<AtsScheme> selectAllone(AtsScheme atsScheme);
    int selectCountone(AtsScheme atsScheme);

    /**
     * 领导查看页面
     * @param atsScheme
     * @return
     */
    List<AtsScheme> selectAuditAllOne(AtsScheme atsScheme);

    /**
     * 领导查看的总行数
     * @param atsScheme
     * @return
     */
    int selectAuditAllCountOne(AtsScheme atsScheme);

    /**
     * 运动员查看页面
     * @param atsScheme
     * @return
     */
    List<AtsScheme> selectAthleteAllOne(AtsScheme atsScheme);

    /**
     * 运动员查看的总行数
     * @param atsScheme
     * @return
     */
    int selectAthleteAllCountOne(AtsScheme atsScheme);

    /**
     * 专家审核查看
     * @return
     */
    List<AtsScheme> selectExpertAllTwo(AtsScheme atsScheme);

    /**
     * 专家审核查看总行数
     * @param atsScheme
     * @return
     */
    int selectExpertAllCountTwo(AtsScheme atsScheme);
    /**
     * 查询审核表和方案表中的所有数据
     * @param atsScheme
     * @param pages
     * @param time
     * @return
     */
    List<AtsScheme> selectAuditAll(@Param("atsScheme") AtsScheme atsScheme, @Param("pages") Page pages, @Param("time") Time time);
    int selectAuditAllCount(@Param("atsScheme") AtsScheme atsScheme, @Param("time") Time time);
    List<AtsScheme> selectExpertAll(@Param("atsScheme") AtsScheme atsScheme, @Param("pages") Page pages, @Param("time") Time time);
    int selectExpertAllCount(@Param("atsScheme") AtsScheme atsScheme, @Param("time") Time time);
    List<AtsScheme> selectAthleteAll(@Param("atsScheme") AtsScheme atsScheme, @Param("pages") Page pages, @Param("time") Time time);
    int selectAthleteAllCount(@Param("atsScheme") AtsScheme atsScheme, @Param("time") Time time);


    /**
     * 运动营养方案
     * 查询所有 带分页
     * @param atsScheme
     * @param
     * @return
     */
    List<AtsScheme> selectAll1(AtsScheme atsScheme);

    /**
     * 运动营养方案
     * 查询所有 不带分页
     * @param atsScheme
     * @return
     */
    List<AtsScheme> findAll(AtsScheme atsScheme);

    /**
     * 运动营养方案
     * 查询行数
     * @param atsScheme
     * @return
     */
    int selectCount1(AtsScheme atsScheme);


    /**
     *  运动营养 运动员查看页面
     * @param atsScheme
     * @return
     */
    List<AtsScheme> selectAthleteAllOnewx(AtsScheme atsScheme);


    /**
     * 运动员查看的总行数
     * @param atsScheme
     * @return
     */
    int selectAthleteAllCountOnewx(AtsScheme atsScheme);




    /**
     * 运动康复方案
     * 查询所有 带分页
     * @param atsScheme
     * @param
     * @return
     */
    List<AtsScheme> selectAllRe(AtsScheme atsScheme);

    /**
     * 运动康复方案
     * 查询行数
     * @param atsScheme
     * @return
     */
    int selectCountRe(AtsScheme atsScheme);

    /**
     *  运动康复 运动员查看页面
     * @param atsScheme
     * @return
     */
    List<AtsScheme> selectAthleteAllOnere(AtsScheme atsScheme);


    /**
     * 运动员查看的总行数
     * @param atsScheme
     * @return
     */
    int selectAthleteAllCountOnere(AtsScheme atsScheme);




}